﻿using Nantianmen.Domain.Models;
using Nantianmen.Shared;

namespace Nantianmen.Core.Stores
{
    public interface IRouteStore
    {
        Task<bool> CheckDuplicateRouteIdAsync(string routeId, CancellationToken cancellationToken);
        Task<NantianmenResult> CreateAsync(Route route, CancellationToken cancellationToken);
        Task<Route?> FindByIdAsync(string routeId, CancellationToken cancellationToken);
        Task<List<Route>> ListRoutesAsync(CancellationToken cancellationToken);
        Task<NantianmenResult> RemoveAsync(Route route, CancellationToken cancellationToken);
        Task<NantianmenResult> UpdateAsync(Route route, CancellationToken cancellationToken);
    }
}